Python内部函数

您所在的位置:网站首页 python 调用自定义函数 Python内部函数

Python内部函数

2024-05-30 00:09| 来源: 网络整理| 查看: 265

这是一篇译文,原文地址:https://realpython.com/inner-functions-what-are-they-good-for/1. 封装

内部函数可以免受函数之外的情况的影响,也就是说,对于全局命名空间而言,它们是隐藏的。

下面是一个简单的例子:

def outer(num1): def inner_increment(num1): # 对外部空间隐藏 return num1 + 1 num2 = inner_increment(num1) print(num1, num2) inner_increment(10) # outer(10)

如果我们直接调用 inner_increment() 函数,会有报错信息:

Traceback (most recent call last): File "inner.py", line 7, in inner_increment() NameError: name 'inner_increment' is not defined

注释掉对 inner_increment() 的直接调用,对外部的函数传入参数 10,即 outer(10) 是可以运行的:

10 11注意:这只是一个例子,虽然这些代码可以运作,但就这个函数而言,可能更好的方式是把 inner_increment() 定义为存在于外部空间的“私有”函数,即在函数名前加一个下划线前缀,即 _inner_increment() 。

下面这个嵌套函数可能是一个更好的使用内部函数的例子:

def factorial(number): # 处理错误 if not isinstance(number, int): raise TypeError("Sorry. 'number' must be an integer.") if not number >= 0: raise ValueError("Sorry. 'number' must be zero or positive.") def inner_factorial(number): if number max_key: max


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3